我对Ruby中的对象分配和指针有点困惑,编写了这段代码来测试我的假设。classFooattr_accessor:one,:twodefinitialize(one,two)@one=one@two=twoendendbar=Foo.new(1,2)beans=barputsbarputsbeansbeans.one=2putsbarputsbeansputsbeans.oneputsbar.one我曾假设,当我将bar分配给beans时,它会创建该对象的副本,并且修改一个不会影响另一个。唉,输出显示不是这样。^_^[jergason:~]$rubytest.rb####22我相信这些
我一直在看maxmethod在Ruby的Enumerable混合(v2.4.1)。这是一个相当简单的方法,但是当存在重复项时它如何排序项目有点令人困惑。例如:x=[1,2,3,4,5,6,7,8,9]x.max{|a,b|a%2b%2}=>110.times{|y|px.max(y){|a,b|a%2b%2}}[][1][1,7]#whyis7thenextelementafter1?[3,1,5]#whynomore7?[7,3,1,5]#7isnowfirst[9,7,3,1,5][9,7,3,1,5,6][9,7,3,1,5,4,6][9,7,3,1,5,2,4,6][9,7,5